My RPGMaster APIs rely heavily on targeting tokens for actions to occur on them. This includes specifying the currently selected token undertaking the action using @{selected|token_id} and specifying the target token of the action using @{target|token_id}. For example, here is a typical command to search a container such as a chest token for what it contains, using the MagicMaster API: !magic --search @{selected|token_id}|@{target|Search Where?|token_id}|@{selected|token_id} Unfortunately, for the last week, @{target|token_id} has not been working in my JumpGate campaigns, which can be seen by selecting a token, typing in chat: @{selected|token_id} = @{target|token_id} and then selecting the same token when asked for the target - two different token_ids are returned, when they should be the same. Not only that, the token_id returned by @{target|token_id} is the same whatever token is selected as the target, and does not have any attributes - e.g. @{target|name} returns an error. This is not an API issue - this happens in a campaign without any APIs loaded. The link below is to a campaign without any APIs installed. Highly repeatable means of causing the token_id problem: Using <a href="https://app.roll20.net/join/18824545/ZhKv_A" rel="nofollow">https://app.roll20.net/join/18824545/ZhKv_A</a> . Go in as a GM (let me know if you need me to grant you this) Go to the top left of the map (rooms 51 & 52 on the map the campaign is currently on - Sahuagin Lair > Level Three). For each token on the Token layer, copy & paste and then delete the original leaving the copy. Do this for all the tokens in these rooms Select any of these tokens and in chat type @{selected|token_id} = @{target|token_id} and select the same token as the target. The two returned IDs should be the same. Repeat with other tokens you replaced to check Exit the campaign Copy the campaign using the Settings > Copy Game function on the Campaign page. Enter either the original or the copy game (it does not matter which - look at both) Go to the top left of the map again, where you copy/pasted the tokens Select any of these tokens that you copy/pasted and again type in chat @{selected|token_id} = @{target|token_id} and select the same token as the target. For me, these then always return wrong IDs for the @{target|token_id} value. Unfortunately, many of my RPGMaster API commands rely on getting the token_id of the token undertaking an action (typically using @{selected|token_id}), and the targeted token_id of the object of that action (using @{target|Message|token_id}) - e.g. a targeted attack or a spell. This bug is preventing play with my APIs, and my group from using Roll20. Further information: This does not seem to be a problem on the map layer - the tokens on the map layer seem to return the correct token_id for both @{selected|token_id} and @{target|token_id}. Moving a token to the GM layer also seems to correct the issue, but I've not left such a token for any time - so it might revert to the issue at some point. Am I doing something wrong? Is it just my JumpGate campaigns that have beome corrupt in some way?